/**
 * 封装操作localStorage本地存储的方法
 */
export const localStorage = {
  // 存储
  set<T>(key: string, value: T): void {
    window.localStorage.setItem(key, JSON.stringify(value));
  },
  // 取出数据
  get<T>(key: string): T | null {
    const value = window.localStorage.getItem(key);
    return value ? JSON.parse(value) : null;
  },
  // 删除数据
  remove(key: string): void {
    window.localStorage.removeItem(key);
  }
};

/**
 * 封装操作sessionStorage本地存储的方法
 */
export const sessionStorage = {
  // 存储
  set<T>(key: string, value: T): void {
    window.sessionStorage.setItem(key, JSON.stringify(value));
  },
  // 取出数据
  get<T>(key: string): T | null {
    const value = window.sessionStorage.getItem(key);
    return value ? JSON.parse(value) : null;
  },
  // 删除数据
  remove(key: string): void {
    window.sessionStorage.removeItem(key);
  }
};
